package com.example.chamberlainserver.Entry;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

@Data
@NoArgsConstructor
public class User {
    private int id;        // 主键
    private String name;       // 姓名
    private String nickName;   // 昵称
    private String className;  // 专业班级 (使用className避免与Java关键字class冲突)
    private String stuNo;      // 学号
    private String phone;      // 手机号码
    private String email;      // 邮箱
    // 用户角色已迁移到user_role关联表中，通过roles字段获取
    private int gender;    // 性别: 0-未知 1-男 2-女
    private String status;     // 状态: 1-在校 2-毕业 3-休学 4-封禁 (存储为字符串)
    private String password;
    private String avatar;     // 用户头像URL
    private Integer departmentId; // 部门ID
    private LocalDateTime createTime; // 创建时间
    private LocalDateTime updateTime; // 更新时间
    
    // 非数据库字段，用于存储用户的多个角色
    private transient List<Role> roles;
    
    // 非数据库字段，用于存储用户的部门信息
    private transient Department department;
}